package com.tdh.service;

import com.tdh.dao.TsDmMapper;
import com.tdh.pojo.TsDm;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;
import java.util.List;

@Service
@Slf4j
public class TsDmService {

    private List<TsDm> ztList;

    private List<TsDm> ckfwList;

    private List<TsDm> zjlxList;

    @Autowired
    private TsDmMapper tsDmMapper;

    /**
     * 存入静态变量
     */
    @PostConstruct
    public void init() {
        ztList = tsDmMapper.queryZt();
        ckfwList = tsDmMapper.queryCkfw();
        zjlxList = tsDmMapper.queryZjlx();

        log.debug("Ts_Dm：状态、查控范围、证件类型: " + ztList + ckfwList + zjlxList);
    }

    /**
     * 查询所有未禁用的证件类型
     * @return TsDm对象列表
     */
    public List<TsDm> queryZt() {
        return ztList;
    }

    /**
     * 查询所有未禁用的证件类型
     * @return TsDm对象列表
     */
    public List<TsDm> queryZjlx() {
        return zjlxList;
    }

    /**
     * 查询所有未禁用的行业范围
     * @return TsDm对象列表
     */
    public List<TsDm> queryCkfw() {
        return ckfwList;
    }

    /**
     * 翻译状态code 获取mc
     * @param code 状态代码
     * @return 状态名称
     */
    public String translateZt(String code) {
        for(TsDm tsDm: ztList) {
            if(code.equals(tsDm.getCode())) {
                return tsDm.getMc();
            }
        }
        return null;
    }

    /**
     * 翻译证件类型
     * @param code 代码
     * @return 名称
     */
    public String translateZjlx(String code) {
        for(TsDm tsDm: zjlxList) {
            if(code.equals(tsDm.getCode())) {
                return tsDm.getMc();
            }
        }
        return null;
    }

    /**
     * 翻译查控范围
     * @param code 代码
     * @return 名称
     */
    public String translateCkfw(String code) {
        for(TsDm tsDm: ckfwList) {
            if(code.equals(tsDm.getCode())) {
                return tsDm.getMc();
            }
        }
        return null;
    }
}
